<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>

<body>

</body>

</html>
<script>
    // 8.slice() 方法它能够基于当前数组中的一或多个项创建一个新数组。可以接受一或两个参数，即要返回项的起始和结束位置，不包括结束位置。
    // var arr = ['a', 'b', 'c', 'd', 'e', 'f', 'g'];
    // console.log(arr.slice()); //全部截取 ["a", "b", "c", "d", "e", "f", "g"]
    // console.log(arr.slice(2)); //第一个参数表示截取的起始位置的索引。[ "c", "d", "e", "f", "g"]
    // console.log(arr.slice(2, 5)); //第一个参数是起始位置的索引，第二个参数是结束位置的索引(不包括) [ "c", "d", "e"]
    // console.log(arr.slice(2, -2)); //负数从后往前数，-1开始，截取还是从前往后。 [ "c", "d", "e"]
    // console.log(arr.slice(-5, -2)); //[ "c", "d", "e"]
    // console.log(arr.slice(2, -20)); //[]  没有范围
    // console.log(arr.slice(20, 200)); //[] 没有范围

    // 9.splice() 方法对数组进行删除、插入、替换，是最强大的数组方法，返回值是数组，改变原数组。
    // var arr = ['a', 'b', 'c', 'd', 'e', 'f', 'g'];
    // 删除:参1：删除的起始索引位置 参2：删除的长度，返回删除的值组成的数组。
    // console.log(arr.splice(1, 3)); // ["b", "c", "d"]
    // console.log(arr);//["a", "e", "f", "g"]
    // console.log(arr.splice(1, -3));//[]
    // console.log(arr.splice(1)); //["b", "c", "d", "e", "f", "g"] 没有删除长度，从起始位置全部删除。

    // 插入：参1：删除的起始索引位置 参2：删除的长度，返回删除的值组成的数组。 从第三个参数开始插入的值。
    // console.log(arr.splice(1, 0, 'hehe', 'hello'));//[] 没有删除
    // console.log(arr);//["a", "hehe", "hello", "b", "c", "d", "e", "f", "g"]

    // 替换：删除几项，插入几项。
    // console.log(arr.splice(1, 2, 'apple', 'orange')); //['b', 'c']
    // console.log(arr); //["a", "apple", "orange", "d", "e", "f", "g"]

    // 10.join()方法，将数组转换成对应的字符串。参数就是连接符。
    // 用参数就数组项连接成字符串。
    // var arr = ['a', 'b', 'c', 'd', 'e', 'f', 'g'];
    // console.log(arr.join()); //a,b,c,d,e,f,g
    // console.log(arr.join('#')); //a#b#c#d#e#f#g
    // console.log(arr.join('')); //经典用法  abcdefg
    // console.log(arr.join(' ')); //a b c d e f g
</script>